#include <stdint.h>
#include <openssl/sha.h>
#include <openssl/aes.h>
#include <string.h>

// SHA-256 计算
void sha256(const uint8_t *input, uint32_t len, uint8_t *output) {
    SHA256_CTX ctx;
    SHA256_Init(&ctx);
    SHA256_Update(&ctx, input, len);
    SHA256_Final(output, &ctx);
}

// AES-256 ECB 加密
void aes256_ecb_encrypt(const uint8_t *input, uint8_t *output, const uint8_t *key) {
    AES_KEY aes_key;
    AES_set_encrypt_key(key, 256, &aes_key);
    AES_ecb_encrypt(input, output, &aes_key, AES_ENCRYPT);
}
